package com.qiaofang.collectmanage.dao.util;

import com.qiaofang.collectmanage.dao.domain.ElementRule;
import com.qiaofang.collectmanage.stub.bean.CrawlerElementRuleDTO;

import java.util.ArrayList;
import java.util.List;

public class ElementRuleDaoConvert {

    private ElementRuleDaoConvert(){}

    public static com.qiaofang.collectmanage.domain.ElementRule convertElementRuleToResolveElement(ElementRule elementRule) {
        if (elementRule == null) {
            return null;
        }
        com.qiaofang.collectmanage.domain.ElementRule elementRuleTarget = new com.qiaofang.collectmanage.domain.ElementRule();
        elementRuleTarget.setId(elementRule.getId());
        elementRuleTarget.setCollectRuleUuid(elementRule.getCollectRuleUuid());
        elementRuleTarget.setReturnElement(elementRule.getReturnElement());
        elementRuleTarget.setFieldName(elementRule.getFieldName());
        elementRuleTarget.setReturnElementValue(elementRule.getReturnElementValue());
        elementRuleTarget.setReturnValue(elementRule.getReturnValue());
        elementRuleTarget.setDepth(elementRule.getDepth());
        elementRuleTarget.setCreatedUserId(elementRule.getCreatedUserId());
        elementRuleTarget.setUpdatedUserId(elementRule.getUpdatedUserId());
        elementRuleTarget.setCreatedTime(elementRule.getCreatedTime());
        elementRuleTarget.setUpdatedTime(elementRule.getUpdatedTime());
        return elementRuleTarget;
    }


    public static CrawlerElementRuleDTO convertElementRuleToCrawlerElementRuleDTO(ElementRule elementRule) {
        if (elementRule == null) {
            return null;
        }
        CrawlerElementRuleDTO elementRuleTarget = new CrawlerElementRuleDTO();
        elementRuleTarget.setId(elementRule.getId());
        elementRuleTarget.setCollectRuleUuid(elementRule.getCollectRuleUuid());
        elementRuleTarget.setReturnElement(elementRule.getReturnElement());
        elementRuleTarget.setFieldName(elementRule.getFieldName());
        elementRuleTarget.setReturnElementValue(elementRule.getReturnElementValue());
        elementRuleTarget.setReturnValue(elementRule.getReturnValue());
        elementRuleTarget.setDepth(elementRule.getDepth());
        elementRuleTarget.setDepthDesc(elementRule.getDepthDesc());
        elementRuleTarget.setCreatedUserId(elementRule.getCreatedUserId());
        elementRuleTarget.setUpdatedUserId(elementRule.getUpdatedUserId());
        elementRuleTarget.setCreatedTime(elementRule.getCreatedTime());
        elementRuleTarget.setUpdatedTime(elementRule.getUpdatedTime());
        return elementRuleTarget;
    }

    public static List<com.qiaofang.collectmanage.domain.ElementRule> convertElementRuleToResolveElements(List<ElementRule> elementRules) {
        List<com.qiaofang.collectmanage.domain.ElementRule> list = new ArrayList<>();
        for (ElementRule elementRule : elementRules) {
            list.add(convertElementRuleToResolveElement(elementRule));
        }
        return list;
    }

    }
